using System;
using System.Data.Linq;
using System.Data.Linq.Mapping;
namespace MicroMsg.Storage
{
	[Table]
	public class ShakePeople : StorageItem
	{
		[Column(IsPrimaryKey = true)]
		public string strUserName;
		[Column]
		public string strNickName;
		[Column]
		public int nSex;
		[Column]
		public string strProvince;
		[Column]
		public string strCity;
		[Column]
		public string strSignature;
		[Column]
		public string strDistance;
		[Column]
		public int NumDistance;
		[Column]
		public bool bHasImg;
		[Column]
		public bool bHasHDImg;
		[Column]
		public string strWeibo;
		[Column]
		public string strWeiboNickName;
		[Column]
		public int nWeiBoFlag;
		[Column]
		public int nVerifyFlag;
		[Column]
		public string strVerifyInfo;
		[Column]
		public string strVerifyContent;
		[Column]
		public int nAlbumStyle;
		[Column]
		public int nAlbumFlag;
		[Column]
		public string strAlbumBGImgID;
		[Column]
		public int nHeadImgVersion;
		[Column]
		public double dblTimeStamp;
		[Column]
		public byte[] bytesXmlData;
		[Column(IsVersion = true)]
		private Binary _version;
		private ShakePeopleXmlData _xmlData;
		public uint nSnsFlag
		{
			get
			{
				this.load();
				return this._xmlData.nSnsFlag;
			}
			set
			{
				this.load();
				this._xmlData.nSnsFlag = value;
				this.unload();
			}
		}
		public string strSnsBGImgID
		{
			get
			{
				this.load();
				return this._xmlData.strSnsBGImgID;
			}
			set
			{
				this.load();
				this._xmlData.strSnsBGImgID = value;
				this.unload();
			}
		}
		public ulong nSnsBGObjectID
		{
			get
			{
				this.load();
				return this._xmlData.nSnsBGObjectID;
			}
			set
			{
				this.load();
				this._xmlData.nSnsBGObjectID = value;
				this.unload();
			}
		}
		public string strMyBrandList
		{
			get
			{
				this.load();
				return this._xmlData.strMyBrandList;
			}
			set
			{
				this.load();
				this._xmlData.strMyBrandList = value;
				this.unload();
			}
		}
		public uint nBrandFlag
		{
			get
			{
				this.load();
				return this._xmlData.nBrandFlag;
			}
			set
			{
				this.load();
				this._xmlData.nBrandFlag = value;
				this.unload();
			}
		}
		public string strBrandExternalInfo
		{
			get
			{
				this.load();
				return this._xmlData.strBrandExternalInfo;
			}
			set
			{
				this.load();
				this._xmlData.strBrandExternalInfo = value;
				this.unload();
			}
		}
		public string strBrandInfo
		{
			get
			{
				this.load();
				return this._xmlData.strBrandInfo;
			}
			set
			{
				this.load();
				this._xmlData.strBrandInfo = value;
				this.unload();
			}
		}
		public string strBrandIconURL
		{
			get
			{
				this.load();
				return this._xmlData.strBrandIconURL;
			}
			set
			{
				this.load();
				this._xmlData.strBrandIconURL = value;
				this.unload();
			}
		}
		public override bool Equals(object value)
		{
			if (value != null)
			{
				if (base.GetType() == value.GetType())
				{
					return this.strUserName.Equals(((ShakePeople)value).strUserName);
				}
			}
			return false;
		}
		public override int GetHashCode()
		{
			return base.GetHashCode();
		}
		private void load()
		{
			if (this._xmlData != null)
			{
				return;
			}
			this._xmlData = StorageXml.loadFromBuffer<ShakePeopleXmlData>(this.bytesXmlData);
			if (this._xmlData == null)
			{
				this._xmlData = new ShakePeopleXmlData();
			}
		}
		private void unload()
		{
			this.bytesXmlData = StorageXml.saveToBuffer<ShakePeopleXmlData>(this._xmlData);
		}
	}
}
